package com.ruoyi.parkingcar.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.ruoyi.parkingcar.domain.ParkOrder;

/**
 * 订单信息管理Service接口
 * 
 * @author 饼干
 * @date 2025-02-09
 */
public interface IParkOrderService 
{
    /**
     * 查询订单信息管理
     * 
     * @param orderId 订单信息管理主键
     * @return 订单信息管理
     */
    public ParkOrder selectParkOrderByOrderId(Long orderId);

    /**
     * 查询订单信息管理列表
     * 
     * @param parkOrder 订单信息管理
     * @return 订单信息管理集合
     */
    public List<ParkOrder> selectParkOrderList(ParkOrder parkOrder);

    /**
     * 新增订单信息管理
     * 
     * @param parkOrder 订单信息管理
     * @return 结果
     */
    public int insertParkOrder(ParkOrder parkOrder);

    /**
     * 修改订单信息管理
     * 
     * @param parkOrder 订单信息管理
     * @return 结果
     */
    public int updateParkOrder(ParkOrder parkOrder);

    /**
     * 批量删除订单信息管理
     * 
     * @param orderIds 需要删除的订单信息管理主键集合
     * @return 结果
     */
    public int deleteParkOrderByOrderIds(Long[] orderIds);

    /**
     * 删除订单信息管理信息
     * 
     * @param orderId 订单信息管理主键
     * @return 结果
     */
    public int deleteParkOrderByOrderId(Long orderId);

    //查询车辆进出场
    public ParkOrder selectCarByNumber(String licensePlate);

    //根据车辆ID和时间新增
    public int insertOrder(ParkOrder parkOrder);

    /**
     * Vant
     */

    //查询
    List<ParkOrder>  select(ParkOrder parkOrder);

    //查询
    List<ParkOrder>  selects(ParkOrder parkOrder);

    //删除
    public int delete(ParkOrder parkOrder);

    //修改
    int updateOrder(ParkOrder parkOrder);


    void updateOrderById(ParkOrder parkOrder);

    //添加出场时间
    void addEndTime(ParkOrder parkOrder);

    //订单结算
    BigDecimal constOrder(ParkOrder parkOrder);
}
